# 作者: 陈其志 
# 2025年02月22日17时27分07秒 
# 2716847110@qq.com
class Stack:

    def __init__(self):
        self.stack = []

    def push(self, ele):
        """
        压栈
        :param ele:
        :return:
        """
        self.stack.append(ele)

    def pop(self):
        """
        弹栈
        :return:
        """
        return self.stack.pop()  # 弹出最后一个元素

    def empty(self):
        """
        清空栈
        :return:
        """
        return self.stack == []

    def top(self):
        if self.empty():
            return 'stack is empty!'  # 如果在这里return了，说明栈为空，返回提示信息，下面的代码不会执行
        return self.stack[-1]

    def size(self):
        """
        获取栈的大小
        :return:
        """
        return len(self.stack)


if __name__ == '__main__':
    stack = Stack()
    stack.push(1)
    stack.push(2)
    stack.push(3)
    print(stack.top())
    print(stack.stack)
    stack.pop()
    stack.pop()
    print(stack.stack)
    stack.pop()
